        Xope 2.01 .
        -----------

 Ett program som anvnder sig utav Xope, br byggas upp p fljande stt:
  
***********************************************************************  
 
 startup:
 
 	lea	parameters,a0
 	jsr	polygon_mupp
 
* 	d0 talar nu om hur mycket minne som anvnds i bufferten.
 
 	move.l	a0,variabler	
	move.l	a1,hoppa
	move.l	a2,hoppa3
	move.l	a3,hoppa4
	

	rts
	
********	
	
main:
	move.l	variabler,a0
	
	*
	*		; flytta in diverse variabler
	*
	
	move.l	hoppa,a1	; eller jump3/jump4 beroende p funktion.
	jsr	a1	; hoppa till polygonplotten
	
	rts
	
********
	
variabler:	dc.l	0
hoppa:		dc.l	0
hoppa3:		dc.l	0
hoppa4:		dc.l	0
screen:		dc.l	scrbuf
	
parameters:
	dc.w	0		; datorpekare
	dc.l	buffert		; pekare till buffert
	dc.l	screen		; pekare till skrmpekare
	dc.w	0,0,-1000		; lgre x,y,z klipp
	dc.w	319,199,1000	; vre x,y,z klipp
	
polygon_mupp:
	incbin	"a:\bin\xope2_01.img" ; sjlvrelokerande polygon rutin.
	section bss
	ds.l	4096		; OBS! MSTE VARA EFTER XOPE.

	
buffert:	ds.l	131*256		; minst 131K fr STE
				; 84K fr TT

scrbuf:				; det r hr det ritas ut.



******************************************************************* 	        

Datorpekaren pekar p vilken sorts polygonrutin man vill ha. Om man
vill ha STE rutin, TT rutin.
Om man stter pekaren till tv, s tvingar man programmet till att
anpassa sig efter TT mode, och en etta tvingar programmet till
STE mode. En nolla i datorpekaren, fr Xope att sjlv vlja mode,
och d s prioriteras det om det sitter en blitter i datorn.

Hoppa, r addressen som man normalt hoppar till nr man vill stta ut
en polygon.
Hoppa3 och hoppa4 r speciella addresser, och dom hoppar man endast
till, om man vet att polygonen antingen r en tre eller fyrhrning, och
EJ behver klippas i borderkanterna. Detta sparar mycket rastertid vid
komplexa objekt.

Variabler r addressen till det block av data som xope behver fr
att kunna rita ut en polygon. Detta blocket ser ut som s hr:


pocom:	dc.w	0
color:	dc.w	0
data:	ds.l	100



"pocom" r uppbyggt s hr:
  
   bit 0:	skall polygonens baksida synas?
   bit 1:	skall polygonens framsida synas?
   bits 2-3:	antal bitplan. 0=1, 1=2, 2= 4 , 3=reserverad
   bit 4:	reserverad fr framtida bruk.
   bit 5:	Behver polygonen klippas i borderkanterna?
   bit 6:	Skall polygonen klippas i Z? 
   bit 7:	reserverad fr framtida bruk.
   bits 8-15: 	antal polygon kanter-1

   S om man vill specificera en polygon med 4 hrnen, och skall
   synas bde bakifrn och frammifrn, med klippning mot borderna,
   s skall pocom se ut s hr: $303.
   

"color" r uppbyggt s hr:
  
   bits 0-7:	reserverad fr masknings konfigurering ( planerad ).

  I fyra bitplan:

   bits 8-11:	numret p den frg som skall skickas ut.

  I tv bitplan:

   bits 8-9:	frgnummer.
   bits 12-13:	bitplansoffset.

  I ett bitplan:
  
   bits 8-9:	bitplansoffset.
   bit  15:	negativ polygon ( and/or ).
     

"data" r det stlle dr polygonens kordinater skall lggas. Nu s mste
man tnka p att om kordinaterna inte ligger i med eller motsols ordning,
s kommer rutinen antagligen att krasha.
Om man har bett om att polygonen skall klippas i Z, s skall kordinaterna
sjlvklart vara i form av X,Y,Z i fljd. Annars s krvs bara X,Y.


     Micael Hildenborg.
     Kalenderv. 6
     415 11 Gothenburg
     Sweden
